package collection;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
 * List集合
 * List继承自Collection，它代表的是可重复且有序的集合
 * List是一个接口，常见的实现类：
 * java.util.ArrayList:内部使用数组实现，查询性能更好
 * java.util.LinkedList:内部使用链表实现，首尾增删元素性能更好
 */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
       // List<String> list1=new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        System.out.println(list);
         /*
            E get(int index)
            获取当前List集合中指定位置上的元素
         */
        //获取List集合的第三个元素
        String e=list.get(2);
        System.out.println(e);

        for (int i=0;i<list.size();i++){
            e=list.get(i);
            System.out.println(e);
        }
         /*
            E set(int index, E e)
            将给定元素设置到指定位置上，返回值为被替换的元素
         */
        //[one,two,six,four,five]
        String old =list.set(2,"six");
        System.out.println(list);
        System.out.println(old);
     /*
            利用get,set方法反转集合
         */
        //[one, two, three, four, five]
//        Collections.reverse(list);
        for (int i=0;i<list.size()/2;i++){
            String e1=list.get(i);
            String e2=list.set(list.size()-1-i,e1);
            list.set(i,e2);

        }
        //[five, four, six, two, one]
        System.out.println(list);
    }
}
